import { createApp } from 'vue';
import App from './App.vue';
import { install as installErrorSDK } from '@logwisdomhub/uniapp-error-sdk';

const app = createApp(App);

// 安装错误监控SDK
const errorSDK = installErrorSDK(app, {
  apiKey: 'your-api-key',
  baseURL: 'https://your-logwisdomhub-api.com',
  projectId: 'your-project-id',
  enableAutoReport: true,
  enableConsoleLog: true,
  enableUserBehavior: true,
  enablePerformanceMonitor: true
});

// 初始化SDK
errorSDK.init().then(() => {
  console.log('错误监控SDK初始化成功');
}).catch((error) => {
  console.error('错误监控SDK初始化失败:', error);
});

// 全局错误处理（Vue3）
app.config.errorHandler = (error, instance, info) => {
  console.error('Vue错误:', error, info);
  errorSDK.reportError(error, 'error', { vueInfo: info });
};

// App.vue中的onError处理（小程序和App）
// #ifndef H5
App.onError = (error: string) => {
  console.error('App错误:', error);
  errorSDK.reportError(new Error(error), 'error', { source: 'app' });
};
// #endif

app.mount('#app');